diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-19 02:21:54 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-03-19 02:23:04 +0000 |
| commit | aa7d68a00cbe9d7d3733f4cd02061d4586af061c (patch) | |
| tree | c4382ba683b5245f2bfeb0c3595f8768f39cc905 /apps/web/app/api/assets/[assetId] | |
| parent | 785a5b574992296e187a66412dd42f7b4a686353 (diff) | |
| download | karakeep-aa7d68a00cbe9d7d3733f4cd02061d4586af061c.tar.zst | |
refactor: Change asset storage to be the filesystem instead of sqlite
Diffstat (limited to 'apps/web/app/api/assets/[assetId]')
| -rw-r--r-- | apps/web/app/api/assets/[assetId]/route.ts | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/apps/web/app/api/assets/[assetId]/route.ts b/apps/web/app/api/assets/[assetId]/route.ts index 6b583e51..f3cf1ab4 100644 --- a/apps/web/app/api/assets/[assetId]/route.ts +++ b/apps/web/app/api/assets/[assetId]/route.ts @@ -1,8 +1,6 @@ import { createContextFromRequest } from "@/server/api/client"; -import { and, eq } from "drizzle-orm"; -import { db } from "@hoarder/db"; -import { assets } from "@hoarder/db/schema"; +import { readAsset } from "@hoarder/shared/assetdb"; export const dynamic = "force-dynamic"; export async function GET( @@ -13,17 +11,15 @@ export async function GET( if (!ctx.user) { return Response.json({ error: "Unauthorized" }, { status: 401 }); } - const asset = await db.query.assets.findFirst({ - where: and(eq(assets.id, params.assetId), eq(assets.userId, ctx.user.id)), + const { asset, metadata } = await readAsset({ + userId: ctx.user.id, + assetId: params.assetId, }); - if (!asset) { - return Response.json({ error: "Asset not found" }, { status: 404 }); - } - return new Response(asset.blob as string, { + return new Response(asset, { status: 200, headers: { - "Content-type": asset.contentType, + "Content-type": metadata.contentType, }, }); } |
